# -*- coding: utf-8 -*-
"""
@time：  2021/05/09  21:32
@Auto：Mr. xingye  993843278
@Company 星野训练营 99384378@qq.com
@Function:反射

"""
import traceback

class A:
    """示例类"""

    def fun1(self):
        print('函数1')

    def fun2(self,key:str='', value:str=''):
        print(key + value)
        print("函数2")

    def fun3(self,c, d):
        print(c + d)
        print("函数2")

if __name__ == '__main__':
    a= A()
    fuc_name = input("请输入你要运行的函数：")
    fuc_parms = input("请输入参数列表：")
    if fuc_parms:
        fuc_parms = fuc_parms.split(',')
    """
    反射：程序在运行的过程中，动态获取需要运行的方法
    注意：如果函数不需要参数，那么就不要传任何参数
         
    """
    try:
        func = getattr(a,fuc_name)
        if fuc_parms:
            func(*fuc_parms)
        else:
            func()
    except Exception as e:
        print('函数不存在')
        print(traceback.format_exc())
    finally:
        print("{}函数执行完成".format(fuc_name))